package com.scs.application.modules.base.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.model.DataEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 医院配置实体对象
 */
@TableName("hospital_config")
@Data
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
@Accessors(chain = true)
public class HospitalConfig extends DataEntity implements Serializable {

    /** 医院Id */
    @NotNull(message = "医院Id不能为空")
    private String hospitalId;

    /** 医院名称 */
    @NotBlank(message = "医院名称不能为空")
    @Length(min = 1, max = 50, message = "医院名称长度必须介于 1 和 50 之间")
    private String hospitalName;

    /** 打印rfid 标识 0 :不能打印 1：打印 */
    @NotNull(message = "打印rfid 标识 0 :不能打印 1：打印不能为空")
    private String flagPrintRfid;

    /** 送货单纸张大小 默认A4 */
    @Length(max = 20, message = "送货单纸张大小 默认A4长度必须介于 0 和 20 之间")
    private String deliveryPrintSize;

    /** 打印方向  默认横向 */
    @Length(max = 20, message = "打印方向  默认横向长度必须介于 0 和 20 之间")
    private String deliveryPrintDirection;

    /** 打印间距 默认正常间距 */
    @Length(max = 20, message = "打印间距 默认正常间距长度必须介于 0 和 20 之间")
    private String deliveryPrintSpaceMode;

    /** 每页打印数量，默认5 */
    private String deliveryPrintPerRows;

    /** 送货单UDI必填，默认不必填 */
    @NotNull(message = "送货单UDI必填，默认不必填不能为空")
    private String flagDeliveryUdiNecessary;

    /** 是否自动资质提醒 */
    @NotNull(message = "是否自动资质提醒不能为空")
    private String flagCertWarningUpdate;

    /** 发货同步注册证号 */
    @NotNull(message = "发货同步注册证号不能为空")
    private String flagDeliveryAutoCert;

    /** 发货获取最新耗材信息（品名\品规\厂商\注册证号） */
    @NotNull(message = "发货获取最新耗材信息不能为空")
    private String flagDeliveryMatrUpdate;

    /** 送货单纸张大小 默认A4 */
    @Length(max = 20, message = "送货单纸张大小 默认A4长度必须介于 0 和 20 之间")
    private String settlementPrintSize;

    /** 打印方向  默认横向 */
    @Length(max = 20, message = "打印方向  默认横向长度必须介于 0 和 20 之间")
    private String settlementPrintDirection;

    /** 打印间距 默认正常间距 */
    @Length(max = 20, message = "打印间距 默认正常间距长度必须介于 0 和 20 之间")
    private String settlementPrintSpaceMode;

    /** 每页打印数量，默认5 */
    private String settlementPrintPerRows;

    /** 允许修改耗材信息 */
    @NotNull(message = "允许修改耗材信息不能为空")
    private String flagMatrEdit;

    /** 允许在开票单界面打印送货单 */
    private String flagBillPrintDelivery;
}

